The following prior art references are considered by applicant to be the most pertinent to the present invention:
[A] H. K. Thapar and A. M. Patel, "A Class of Partial Response Systems for Increasing Storage Density in Magnetic Recording," IEEE Transactions on Magnetics, vol. MAG-23, No. 5, September 1987. PA1 [B] U.S. Pat. No. 4,786,890, granted Nov. 22, 1988, entitled "Method and Apparatus for Implementing a PRML Code." PA1 [C] U.S. Pat. No. 4,888,779, granted Dec. 19, 1989, entitled "Matched Spectral Null Trellis Codes for Partial Response Channels." PA1 [D] R. Adler, D. Coppersmith, and M. Hassner, "Algorithms for Sliding Block Codes," IEEE Transactions on Information Theory, vol IT-29, No. 1, January, 1983. PA1 [E] L. J. Fredrickson and J. K. Wolf, "Error Detecting Multiple Block (d,k) Codes," IEEE Transactions on, Magnetics, vol. MAG-25, No. 5, September, 1989.
High rate run length limited (RLL) trellis codes and associated Viterbi detectors have heretofore been proposed for various partial response channels. Partial response channels of interest for data storage devices include those with channel polynomials of the form P(D)=(1-D)(1+D).sup.n, where n is a nonnegative integer. Reference [A] notes that a (1-D) dicode channel, a PR4 (1-D.sup.2) channel, and an EPR4 (1+D-D.sup.2 -D.sup.3) channel are useful for magnetic recording channels. Partial response channels PR1 (1+D), and (1+D.sup.2), are preferred for optical recording channels.
Partial response channels (1+D.sup.n) or (1-D.sup.n) have a practical implementation advantage in that they can be deinterleaved into n (1+D) or (1-D) channels, respectively. In Reference [B], PR4 detection is accomplished by interleaving two (1-D) dicode detectors. In Reference [C], coding and detection for these channels is accomplished by interleaving appropriate dicode or PR1 channel codes.
Coding constraints are generally imposed which improve the reliability of data recovery. These constraints may require regular updates of timing and gain control loops and/or limitation of the length of divergent error events, as discussed in References [B] and [C]. Reference [D] discusses the incorporation of the usual (d,k) runlength constraints in codes for magnetic channels.
Reference [C] discloses a method for increasing the reliability of partial response storage channels, by increasing the minimum distance between coded output sequences using codes designed to match the spectral nulls in a channel partial response polynomial. The Viterbi detectors in Reference [C] have reduced complexity, achieved by tracking the spectral content of detected sequences.
Reference [C] also describes a method for eliminating "quasi-catastropic sequences" which are defined as sequences that are represented by more than one distinct path through the detector trellis. The "minimum distance" of a particular detector trellis (sometimes referred to in the art as d.sup.2.sub.free) is defined as the minimum sum of the squared differences between noiseless sample values resulting from two distinct sequences that diverge from a common state on the trellis and remerge to a common state. For partial response, maximum likelihood (PRML) detection, d.sup.2.sub.free is 2, but the first order matched spectral null codes of Reference [C] increase d.sup.2.sub.free to 4.
Reference E discusses the design of error detection codes for minimum run length d=1 input restricted channels which rely on tracking the sum of the positions of NRZI ones modulo 2. Because a minimum distance error is made by shifting an NRZI one to an adjacent bit position, an NRZI one, originally in an odd (even) numbered position, is misdetected in an even (odd) numbered position, changing the modulo 2 sum of positions of NRZI ones. In Reference [E], error detection codes use prior knowledge of the modulo 2 sum of the positions of NRZI ones over a span of m bits in an encoded sequence to determine whether a minimum distance event has occurred. However, it should be noted that the channel in Reference [E] is a peak detected Lorentzian channel, and no reference is made to partial response channels or the detection thereof.
The referenced related application describes Viterbi detectors for matched spectral null codes with a trellis structure in which a predetermined number of states and edges are deleted in a preselected time-dependent pattern to create a time-varying trellis which significantly limits the maximum lengths of minimum distance error events.
However, these references and the related application do not teach or suggest a Viterbi detector which provides a time-varying trellis for a run-length-limited (RLL) code, wherein only certain values of a preselected attribute tracked modulo N are allowed every m bits, to increase the minimum distance between output sequences of a partial response channel and to eliminate quasi-catastrophic sequences for increasing the reliability of data storage devices.